package com.molichuxing.services.infrastructure.dto.response;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.OrderPayWayEnum;
import com.molichuxing.services.property.OrderSubscribeSettlementPayStatusEnum;

import lombok.Data;

/**
 * 订阅里程订单结算dto
 * 
 * @author zoumingyu
 * @date 2019年8月30日
 *
 */
@Data
public class OrderSubscribeSettlementDto extends ResponseRootDto {
	private static final long serialVersionUID = -3791208942429479837L;

	/**
     *  id
     */
    private Integer id;

    /**
     * 订单号 order_code
     */
    private Long orderCode;

    /**
     * 超出里程数 beyond_mileage
     */
    private Integer beyondMileage;

    /**
     * 里程单价 beyond_mileage_unit_price
     */
    private BigDecimal beyondMileageUnitPrice;

    /**
     * 结算超里程费用 beyond_mileage_fee
     */
    private BigDecimal beyondMileageFee;

    /**
     * 超期天数 beyond_day
     */
    private Integer beyondDay;

    /**
     * 天数单价 beyond_day_unit_price
     */
    private BigDecimal beyondDayUnitPrice;

    /**
     * 结算超期费用 beyond_day_fee
     */
    private BigDecimal beyondDayFee;

    /**
     * 结算质损费用 damage_fee
     */
    private BigDecimal damageFee;

    /**
     * 结算总费用 total_fee
     */
    private BigDecimal totalFee;

	/**
	 * 状态（0：待支付，1：已支付） status
	 */
	private OrderSubscribeSettlementPayStatusEnum status;

	/**
	 * 支付方式( 11：智能终端-微信， 12：智能终端-支付宝， 13：智能终端-pos机，21：微信-公众号，22：微信-H5，
	 * 23：微信-APP，34：微信-扫码，25：微信-小程序，31：支付宝-APP，32：支付宝-H5，41:
	 * 线下支付，51：银联-APP，51：银联-H5) pay_way
	 */
	private OrderPayWayEnum payWay;

	/**
	 * 支付成功时间（缴费时间） pay_time
	 */
	private LocalDateTime payTime;

	public OrderSubscribeSettlementDto setStatus(Integer status) {
		this.status = status == null ? null : OrderSubscribeSettlementPayStatusEnum.getEnum(status);
		return this;
	}
	
	public OrderSubscribeSettlementDto setPayWay(Integer payWay) {
		this.payWay = payWay == null ? null : OrderPayWayEnum.getEnum(payWay);
		return this;
	}
}
